package com.doubao.user.constant;

/**
 * 用户常量
 */
public interface UserConstant {

    /**
     * 用户状态：正常
     */
    Integer STATUS_NORMAL = 1;

    /**
     * 用户状态：禁用
     */
    Integer STATUS_DISABLED = 0;

    /**
     * 删除标记：未删除
     */
    Integer NOT_DELETED = 0;

    /**
     * 删除标记：已删除
     */
    Integer DELETED = 1;

    /**
     * VIP状态：非VIP
     */
    Integer VIP_STATUS_NO = 0;

    /**
     * VIP状态：VIP
     */
    Integer VIP_STATUS_YES = 1;

    /**
     * 默认每日tokens上限
     */
    Integer DEFAULT_DAILY_TOKENS_LIMIT = 10000;

    /**
     * 用户头像文件路径前缀
     */
    String AVATAR_PATH_PREFIX = "/user/avatar/";

    /**
     * 用户头像默认地址
     */
    String DEFAULT_AVATAR = "https://doubaoai-cdn.example.com/static/default_avatar.png";

    /**
     * 用户默认角色ID
     */
    Long DEFAULT_ROLE_ID = 1L;

    /**
     * 用户缓存KEY前缀
     */
    String USER_CACHE_PREFIX = "user:";

    /**
     * 用户每日token统计KEY前缀
     */
    String USER_DAILY_TOKEN_PREFIX = "user:daily_token:";

    /**
     * 用户统计缓存KEY前缀
     */
    String USER_STATISTICS_CACHE_PREFIX = "user:stats:";

    /**
     * 微信用户缓存KEY前缀
     */
    String WECHAT_USER_CACHE_PREFIX = "wechat:user:";

    /**
     * API提供商-OpenAI
     */
    String API_PROVIDER_OPENAI = "openai";

    /**
     * API提供商-Claude
     */
    String API_PROVIDER_CLAUDE = "claude";

    /**
     * API提供商-DeepSeek
     */
    String API_PROVIDER_DEEPSEEK = "deepseek";

    /**
     * 统计缓存过期时间（秒）
     */
    long STATISTICS_CACHE_EXPIRE_SECONDS = 3600;

    /**
     * 通知类型-系统通知
     */
    String NOTIFICATION_TYPE_SYSTEM = "system";

    /**
     * 通知类型-活动通知
     */
    String NOTIFICATION_TYPE_ACTIVITY = "activity";

    /**
     * 通知类型-服务通知
     */
    String NOTIFICATION_TYPE_SERVICE = "service";

    /**
     * 通知读取状态-未读
     */
    Integer NOTIFICATION_UNREAD = 0;

    /**
     * 通知读取状态-已读
     */
    Integer NOTIFICATION_READ = 1;

    /**
     * 反馈处理状态-未处理
     */
    Integer FEEDBACK_STATUS_PENDING = 0;

    /**
     * 反馈处理状态-已处理
     */
    Integer FEEDBACK_STATUS_PROCESSED = 1;

    /**
     * 反馈处理状态-已回复
     */
    Integer FEEDBACK_STATUS_REPLIED = 2;

    /**
     * 用户每日token使用量缓存前缀
     */
    public static final String USER_DAILY_TOKEN_CACHE_PREFIX = "user:daily_token:usage:";
}